package com.adaydayup.week4;

import java.util.Arrays;

/**
 * 462. 最少移动次数使数组元素相等 II
 * 示例 1：
 *
 * 输入：nums = [1,2,3]
 * 输出：2
 * 解释：
 * 只需要两步操作（每步操作指南使一个元素加 1 或减 1）：
 * [1,2,3]  =>  [2,2,3]  =>  [2,2,2]
 * 示例 2：
 *
 * 输入：nums = [1,10,2,9]
 * 输出：16
 */
public class MinMoves2_462 {

    public int minMoves2(int[] nums) {
        Arrays.sort(nums);
        int l = 0, r = nums.length - 1;
        int ans = 0;
        while (l < r) {
            ans = ans + nums[r] - nums[l];
            ++l;
            --r;
        }
        return ans;
    }
}
